using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("FiresideGatheringManager")]
	public class FiresideGatheringManager : MonoBehaviour
	{
		public enum FiresideGatheringMode
		{
			NONE,
			MAIN_SCREEN,
			FRIENDLY_CHALLENGE,
			FRIENDLY_CHALLENGE_BRAWL,
			FIRESIDE_BRAWL
		}

		[Attribute38("FiresideGatheringManager.SignTypeMapping")]
		public class SignTypeMapping : MonoClass
		{
			public string m_prefabName => method_4("m_prefabName");

			public SignTypeMapping(IntPtr address, string className)
				: base(address, className)
			{
			}

			public SignTypeMapping(IntPtr address)
				: this(address, "SignTypeMapping")
			{
			}
		}

		public List<SignTypeMapping> m_signTypeMapping => method_3<Class271<SignTypeMapping>>("m_signTypeMapping")?.method_25();

		public List<byte> m_currentFSGSharedSecretKey => method_3<Class250<byte>>("m_currentFSGSharedSecretKey")?.method_25();

		public List<BnetPlayer> m_displayablePatrons => method_3<Class271<BnetPlayer>>("m_displayablePatrons")?.method_25();

		public List<BnetPlayer> m_pendingPatrons => method_3<Class271<BnetPlayer>>("m_pendingPatrons")?.method_25();

		public Dictionary<long, BnetPlayer> m_innkeepers => method_3<Class253<long, BnetPlayer>>("m_innkeepers")?.method_25();

		public bool m_checkInRequestPending => method_2<bool>("m_checkInRequestPending");

		public bool m_checkInDialogShown => method_2<bool>("m_checkInDialogShown");

		public bool m_nearbyFSGsFoundEventSent => method_2<bool>("m_nearbyFSGsFoundEventSent");

		public bool m_tooltipShowing => method_2<bool>("m_tooltipShowing");

		public ClientLocationData m_locationData => method_3<ClientLocationData>("m_locationData");

		public bool m_hasBegunLocationDataGatheringForLogin => method_2<bool>("m_hasBegunLocationDataGatheringForLogin");

		public FiresideGatheringSign m_currentSign => method_3<FiresideGatheringSign>("m_currentSign");

		public Transform m_smallSignContainer => method_3<Transform>("m_smallSignContainer");

		public bool m_haltFSGNotificationsAndCheckins => method_2<bool>("m_haltFSGNotificationsAndCheckins");

		public bool m_fsgSignShown => method_2<bool>("m_fsgSignShown");

		public bool m_doAutoInnkeeperSetup => method_2<bool>("m_doAutoInnkeeperSetup");

		public bool m_haltAutoCheckinWhileInnkeeperSetup => method_2<bool>("m_haltAutoCheckinWhileInnkeeperSetup");

		public bool m_errorOccuredOnCheckin => method_2<bool>("m_errorOccuredOnCheckin");

		public bool m_fsgAvailableToCheckin => method_2<bool>("m_fsgAvailableToCheckin");

		public double m_gpsCheatOffset => method_2<double>("m_gpsCheatOffset");

		public static bool s_cacheFSGEnabled => MonoClass.smethod_6<bool>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "s_cacheFSGEnabled");

		public static bool s_cacheGPSEnabled => MonoClass.smethod_6<bool>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "s_cacheGPSEnabled");

		public static bool s_cacheWifiEnabled => MonoClass.smethod_6<bool>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "s_cacheWifiEnabled");

		public bool m_gpsCheatingLocation => method_2<bool>("m_gpsCheatingLocation");

		public double m_gpsCheatLatitude => method_2<double>("m_gpsCheatLatitude");

		public double m_gpsCheatLongitude => method_2<double>("m_gpsCheatLongitude");

		public static string BACKGROUND_TEXTURE_SHADER_VAL => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "BACKGROUND_TEXTURE_SHADER_VAL");

		public static string MAJOR_TEXTURE_SHADER_VAL => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "MAJOR_TEXTURE_SHADER_VAL");

		public static string MINOR_TEXTURE_SHADER_VAL => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "MINOR_TEXTURE_SHADER_VAL");

		public static AssetReference m_tavernSignAsset => MonoClass.smethod_7<AssetReference>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "m_tavernSignAsset");

		public static List<AssetReference> m_fsgShields => MonoClass.smethod_7<Class251<AssetReference>>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "m_fsgShields")?.method_25();

		public static List<AssetReference> m_backgroundTextures => MonoClass.smethod_7<Class251<AssetReference>>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "m_backgroundTextures")?.method_25();

		public static List<AssetReference> m_majorTextures => MonoClass.smethod_7<Class251<AssetReference>>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "m_majorTextures")?.method_25();

		public static List<AssetReference> m_minorTextures => MonoClass.smethod_7<Class251<AssetReference>>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "m_minorTextures")?.method_25();

		public static int MAX_SIGN_INDEX => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "MAX_SIGN_INDEX");

		public static int MAX_BACKGROUND_INDEX => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "MAX_BACKGROUND_INDEX");

		public static int MAX_MAJOR_INDEX => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "MAX_MAJOR_INDEX");

		public static int MAX_MINOR_INDEX => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "MAX_MINOR_INDEX");

		public GameObject m_transitionInputBlocker => method_3<GameObject>("m_transitionInputBlocker");

		public long m_activeFSGMenu => method_2<long>("m_activeFSGMenu");

		public static bool IsFSGFeatureEnabled => MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "get_IsFSGFeatureEnabled", Array.Empty<object>());

		public static bool IsGpsFeatureEnabled => MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "get_IsGpsFeatureEnabled", Array.Empty<object>());

		public static bool IsWifiFeatureEnabled => MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "get_IsWifiFeatureEnabled", Array.Empty<object>());

		public static bool CanRequestNearbyFSG => MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "get_CanRequestNearbyFSG", Array.Empty<object>());

		public FiresideGatheringMode CurrentFiresideGatheringMode => method_11<FiresideGatheringMode>("get_CurrentFiresideGatheringMode", Array.Empty<object>());

		public bool HasFSGToInnkeeperSetup => method_11<bool>("get_HasFSGToInnkeeperSetup", Array.Empty<object>());

		public long CurrentFsgId => method_11<long>("get_CurrentFsgId", Array.Empty<object>());

		public bool CurrentFsgIsLargeScale => method_11<bool>("get_CurrentFsgIsLargeScale", Array.Empty<object>());

		public List<byte> CurrentFsgSharedSecretKey => method_14<Class250<byte>>("get_CurrentFsgSharedSecretKey", Array.Empty<object>())?.method_25();

		public bool IsCheckedIn => method_11<bool>("get_IsCheckedIn", Array.Empty<object>());

		public List<BnetPlayer> DisplayablePatronList => method_14<Class271<BnetPlayer>>("get_DisplayablePatronList", Array.Empty<object>())?.method_25();

		public int DisplayablePatronCount => method_11<int>("get_DisplayablePatronCount", Array.Empty<object>());

		public List<BnetPlayer> FullPatronList => method_14<Class271<BnetPlayer>>("get_FullPatronList", Array.Empty<object>())?.method_25();

		public double Latitude => method_11<double>("get_Latitude", Array.Empty<object>());

		public double Longitude => method_11<double>("get_Longitude", Array.Empty<object>());

		public double GpsAccuracy => method_11<double>("get_GpsAccuracy", Array.Empty<object>());

		public bool IsGpsLocationValid => method_11<bool>("get_IsGpsLocationValid", Array.Empty<object>());

		public List<string> BSSIDS => method_14<Class272>("get_BSSIDS", Array.Empty<object>())?.method_25();

		public bool AutoCheckInEnabled => method_11<bool>("get_AutoCheckInEnabled", Array.Empty<object>());

		public int FriendListPatronCountLimit => method_11<int>("get_FriendListPatronCountLimit", Array.Empty<object>());

		public bool PlayerAccountShouldAutoCheckin => method_11<bool>("get_PlayerAccountShouldAutoCheckin", Array.Empty<object>());

		public bool HasInitiatedFSGScan => method_11<bool>("get_HasInitiatedFSGScan", Array.Empty<object>());

		public long LastTavernID => method_11<long>("get_LastTavernID", Array.Empty<object>());

		public FiresideGatheringManager(IntPtr address, string className)
			: base(address, className)
		{
		}

		public FiresideGatheringManager(IntPtr address)
			: this(address, "FiresideGatheringManager")
		{
		}

		public static FiresideGatheringManager Get()
		{
			return MonoClass.smethod_15<FiresideGatheringManager>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "Get", Array.Empty<object>());
		}

		public static bool IsValidBSSID(string bssid)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "FiresideGatheringManager", "IsValidBSSID", new object[1] { bssid });
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void Update()
		{
			method_8("Update");
		}

		public void OnApplicationQuit()
		{
			method_8("OnApplicationQuit");
		}

		public void CheckInToFSG(long fsgId)
		{
			method_8("CheckInToFSG", fsgId);
		}

		public void BeginLocationDataGatheringForLogin()
		{
			method_8("BeginLocationDataGatheringForLogin");
		}

		public void CheckOutOfFSG(bool optOut)
		{
			method_8("CheckOutOfFSG", optOut);
		}

		public void UpdateDeckValidity()
		{
			method_8("UpdateDeckValidity");
		}

		public bool OpponentHasValidDeckForSelectedPlaymode(BnetPlayer opponent)
		{
			return method_11<bool>("OpponentHasValidDeckForSelectedPlaymode", new object[1] { opponent });
		}

		public void OnSceneLoadedDuringAutoCheckin(SceneMgr.Mode mode, PegasusScene scene, object userData)
		{
			method_8("OnSceneLoadedDuringAutoCheckin", mode, scene, userData);
		}

		public void LeaveFSG()
		{
			method_8("LeaveFSG");
		}

		public bool IsCheckedInToFSG(long gatheringID)
		{
			return method_11<bool>("IsCheckedInToFSG", new object[1] { gatheringID });
		}

		public bool IsPlayerInMyFSG(BnetPlayer player)
		{
			return method_11<bool>("IsPlayerInMyFSG", new object[1] { player });
		}

		public bool IsPlayerInMyFSGAndDisplayable(BnetPlayer player)
		{
			return method_11<bool>("IsPlayerInMyFSGAndDisplayable", new object[1] { player });
		}

		public int FiresideGatheringPlayerSort(BnetPlayer patron1, BnetPlayer patron2)
		{
			return method_11<int>("FiresideGatheringPlayerSort", new object[2] { patron1, patron2 });
		}

		public bool ShowSmallSignIfNeeded(Transform smallSignContainer)
		{
			return method_11<bool>("ShowSmallSignIfNeeded", new object[1] { smallSignContainer });
		}

		public void GotoFSGLink()
		{
			method_8("GotoFSGLink");
		}

		public void ShowFindFSGDialog()
		{
			method_8("ShowFindFSGDialog");
		}

		public void OnLocationDataGPSUpdate(ClientLocationData locationData)
		{
			method_8("OnLocationDataGPSUpdate", locationData);
		}

		public void OnLocationDataWIFIUpdate(ClientLocationData locationData)
		{
			method_8("OnLocationDataWIFIUpdate", locationData);
		}

		public void AddWIFIAccessPoints(ClientLocationData locationData)
		{
			method_8("AddWIFIAccessPoints", locationData);
		}

		public void RequestNearbyFSGs(bool isStateCheck)
		{
			method_8("RequestNearbyFSGs", isStateCheck);
		}

		public void InnkeeperSetupFSG(bool provideWifiForTavern)
		{
			method_8("InnkeeperSetupFSG", provideWifiForTavern);
		}

		public void RequestFSGNotificationAndCheckinsHalt()
		{
			method_8("RequestFSGNotificationAndCheckinsHalt");
		}

		public void ShowFiresideGatheringInnkeeperSetupDialog()
		{
			method_8("ShowFiresideGatheringInnkeeperSetupDialog");
		}

		public void ShowInnkeeperSetupTooltip()
		{
			method_8("ShowInnkeeperSetupTooltip");
		}

		public bool InBrawlMode()
		{
			return method_11<bool>("InBrawlMode", Array.Empty<object>());
		}

		public void EnableTransitionInputBlocker(bool enabled)
		{
			method_8("EnableTransitionInputBlocker", enabled);
		}

		public void TransitionToFSGScene(bool enableInputBlocker)
		{
			method_8("TransitionToFSGScene", enableInputBlocker);
		}

		public void WillReset()
		{
			method_8("WillReset");
		}

		public void OnLocationDataComplete()
		{
			method_8("OnLocationDataComplete");
		}

		public void AutoInnkeeperSetup()
		{
			method_8("AutoInnkeeperSetup");
		}

		public void AutoCheckIn()
		{
			method_8("AutoCheckIn");
		}

		public void NotifyFSGNearbyIfNeeded()
		{
			method_8("NotifyFSGNearbyIfNeeded");
		}

		public void NotifyFSGNearby()
		{
			method_8("NotifyFSGNearby");
		}

		public void ShowNearbyFSGsTooltip()
		{
			method_8("ShowNearbyFSGsTooltip");
		}

		public void ShowTooltip(string text)
		{
			method_8("ShowTooltip", text);
		}

		public void DoStartAndEndTimingEvents()
		{
			method_8("DoStartAndEndTimingEvents");
		}

		public FiresideGatheringSign GenerateCustomTavernSign(int sign, int background, int major, int minor, string tavernName)
		{
			return method_14<FiresideGatheringSign>("GenerateCustomTavernSign", new object[5] { sign, background, major, minor, tavernName });
		}

		public void OnSignAssetLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnSignAssetLoaded", assetRef, go, callbackData);
		}

		public void OnSmallSignAssetLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnSmallSignAssetLoaded", assetRef, go, callbackData);
		}

		public FiresideGatheringSign GetSignObject(int signIndex)
		{
			return method_14<FiresideGatheringSign>("GetSignObject", new object[1] { signIndex });
		}

		public void PlaySignTween(GameObject signObject)
		{
			method_8("PlaySignTween", signObject);
		}

		public void PlaySignAnimation(object args)
		{
			method_8("PlaySignAnimation", args);
		}

		public void HideFSGSign(bool hideImmediately)
		{
			method_8("HideFSGSign", hideImmediately);
		}

		public void OnTavernSignAnimationComplete()
		{
			method_8("OnTavernSignAnimationComplete");
		}

		public void HideSignAnim(GameObject sign)
		{
			method_8("HideSignAnim", sign);
		}

		public void OnSignHidden()
		{
			method_8("OnSignHidden");
		}

		public void HideBlur()
		{
			method_8("HideBlur");
		}

		public void OnJoinFSGDialogResponse(bool joinFSG)
		{
			method_8("OnJoinFSGDialogResponse", joinFSG);
		}

		public void OnFindEventDialogCallBack(bool searchForGatherings)
		{
			method_8("OnFindEventDialogCallBack", searchForGatherings);
		}

		public void OnFailedToFindFSGDialogResponse(AlertPopup.Response response, object userData)
		{
			method_8("OnFailedToFindFSGDialogResponse", response, userData);
		}

		public void ShowFiresideGatheringInnkeeperSetup_OnResponse(bool doSetup)
		{
			method_8("ShowFiresideGatheringInnkeeperSetup_OnResponse", doSetup);
		}

		public void OnRequestNearbyFSGsResponse()
		{
			method_8("OnRequestNearbyFSGsResponse");
		}

		public void OnCheckInToFSGResponse()
		{
			method_8("OnCheckInToFSGResponse");
		}

		public void OnCheckOutOfFSGResponse()
		{
			method_8("OnCheckOutOfFSGResponse");
		}

		public void CheckCanBeginLocationDataGatheringForLogin()
		{
			method_8("CheckCanBeginLocationDataGatheringForLogin");
		}

		public void OnNetCache_GuardianVars()
		{
			method_8("OnNetCache_GuardianVars");
		}

		public void OnNetCache_FSGFeatureConfig()
		{
			method_8("OnNetCache_FSGFeatureConfig");
		}

		public void OnInnkeeperSetupGatheringResponse()
		{
			method_8("OnInnkeeperSetupGatheringResponse");
		}

		public void OnPatronListUpdateReceived()
		{
			method_8("OnPatronListUpdateReceived");
		}

		public void OnPlayersPresenceChanged(BnetPlayerChangelist changelist, object userData)
		{
			method_8("OnPlayersPresenceChanged", changelist, userData);
		}

		public void InitializeTransitionInputBlocker(bool enabled)
		{
			method_8("InitializeTransitionInputBlocker", enabled);
		}

		public void Cheat_OnTavernBrawlInfoCheckInToFakeFSG()
		{
			method_8("Cheat_OnTavernBrawlInfoCheckInToFakeFSG");
		}

		public void Cheat_CheckInToFakeFSG()
		{
			method_9("Cheat_CheckInToFakeFSG", new Class276.Enum20[0]);
		}

		public void Cheat_CheckOutOfFakeFSG()
		{
			method_8("Cheat_CheckOutOfFakeFSG");
		}

		public void Cheat_NearbyFSGNotice()
		{
			method_8("Cheat_NearbyFSGNotice");
		}

		public void Cheat_CreateFakeGatherings(int numGatherings, bool innkeeper)
		{
			method_8("Cheat_CreateFakeGatherings", numGatherings, innkeeper);
		}

		public void Cheat_RemoveFakeGatherings()
		{
			method_8("Cheat_RemoveFakeGatherings");
		}

		public void Cheat_MockInnkeeperSetup()
		{
			method_8("Cheat_MockInnkeeperSetup");
		}

		public void Cheat_GPSOffset(double offset)
		{
			method_8("Cheat_GPSOffset", offset);
		}

		public void Cheat_GPSSet(double latitude, double longitude)
		{
			method_8("Cheat_GPSSet", latitude, longitude);
		}

		public void Cheat_ResetGPSCheating()
		{
			method_8("Cheat_ResetGPSCheating");
		}

		public void Cheat_ToggleLargeScaleFSG()
		{
			method_8("Cheat_ToggleLargeScaleFSG");
		}

		public int Cheat_RemoveCheatFriends()
		{
			return method_11<int>("Cheat_RemoveCheatFriends", Array.Empty<object>());
		}
	}
}
